package com.muyu.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.PageQueryModel;
import com.muyu.system.domain.SysNotice;
import com.muyu.system.domain.model.*;

import java.util.List;

/**
 * 公告 服务层
 *
 * @author muyu
 */
public interface SysNoticeService extends IService<SysNotice> {


    /**
     * 通知公告份也查询
     * @param sysNoticePageQueryModel 分页查询模型
     * @return 分页结果
     */
    PageQueryModel<SysNoticeListModel> pageQuery(SysNoticePageQueryModel sysNoticePageQueryModel);

    /**
     * 查询公告信息
     *
     * @param noticeId 公告ID
     *
     * @return 公告信息
     */
    public SysNoticeDetailModel selectNoticeById (Long noticeId);

    /**
     * 新增公告
     *
     * @param sysNoticeAddModel 通知公告添加模型
     *
     * @return 结果
     */
    public void insertNotice (SysNoticeAddModel sysNoticeAddModel);

    /**
     * 修改公告
     *
     * @param sysNoticeUpdModel 公告信息修改模型
     * @param id 通知公告id
     */
    public void updateNotice (Long id, SysNoticeUpdModel sysNoticeUpdModel);

    /**
     * 删除公告信息
     *
     * @param noticeId 公告ID
     *
     * @return 结果
     */
    public void deleteNoticeById (Long noticeId);

    /**
     * 批量删除公告信息
     *
     * @param noticeIds 需要删除的公告ID
     *
     * @return 结果
     */
    public void deleteNoticeByIds (List<Long> noticeIds);

}
